package com.fintech.third.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.fintech.third.model.MoxieTaskInfo;

/**
 * 魔蝎任务信息
 * @author tangpw
 *
 */
public interface MoxieTaskInfoMapper {
	
	/**
	 * 添加魔蝎任务信息
	 */
	public void insertMoxieTaskInfo(MoxieTaskInfo moxieTaskInfo);
	
	
	
	/**
	 * 查询魔蝎任务信息
	 */
	public List<MoxieTaskInfo> selectMoxieTaskInfo(String type);
	
	
	
	/**
	 * 更新魔蝎任务信息
	 */
	public int updateMoxieTaskInfo(@Param("id") long id,@Param("result") String result);
	
	
	/**
	 * 如果15分钟了还在处理中，那么就转为未处理，重新进行处理
	 * @return
	 */
	public int updateMoxieProcessing();
	
	
	/**
	 * 删除记录
	 */
	public int deleteMoxieTaskInfo(long id);
	
	
	/**
	 * 添加原始记录
	 */
	public void insertMoxieTaskInfoHistory(MoxieTaskInfo moxieTaskInfo);
	
	
	
	/**
	 * 根据loanId查询运营商认证状态
	 */
	public MoxieTaskInfo searchCarrierStatus(String loanId);
	
	
	
	/**
	 * 根据loanId修改运营商状态
	 */
//	public int updateCarrierStatus(String loanId,String stauts);
	
	/**
	 * 
	 * @Title: getMoxieTaskAll   
	 * @Description:  获取历史表中的记录（根据loanid和类型进行区分）type 1运营商任务 2公积金任务
	 * @param:      
	 * @return: MoxieTaskInfo      
	 * @throws
	 * @author 李瑶
	 */
	public MoxieTaskInfo getMoxieTaskHis(@Param("loanId") String loanId,@Param("type") String type);
	
	/**
	 * 
	 * @Title: getMoxieTask   
	 * @Description:  获取task表中的记录（只查询task表，不查询历史表。根据loanid和类型进行区分）type 1运营商任务 2公积金任务
	 * @param:      
	 * @return: MoxieTaskInfo      
	 * @throws
	 * @author 李瑶
	 */
	public MoxieTaskInfo getMoxieTaskCur(@Param("loanId") String loanId,@Param("type") String type);
	
	/**
	 * 根据条件获取task表中记录
	 * @param taskId
	 * @param loanId
	 * @param type
	 * @return
	 */
	public MoxieTaskInfo getMoxieTaskCurByParam(@Param("taskId") String taskId, @Param("loanId") String loanId, @Param("type") String type);
}
